package com.netty.esc.service.http;

import com.netty.esc.entity.model.FriendsOnlineDTO;
import com.netty.esc.entity.model.TUserFriendsDTO;
import com.netty.esc.entity.pojo.UserFriends;
import com.netty.esc.entity.pojo.UserInfo;

import java.util.List;

/**
 * @author: ext.zhaoyang17
 * @date: 2022.10.21
 */
public interface FriendService {

    /**
     * 好友列表获取
     * @param userId 用户id
     * @return 好友列表
     */
    List<TUserFriendsDTO> findFriendList(Long userId);

    /**
     * 查询好友在线状态
     * @return 好友列表在线状态
     */
    List<FriendsOnlineDTO> findFriendOnlines();

    /**
     * 根据手机号查询好友
     * @param telephone 查询的好友手机号
     * @return 查询用户信息
     */
    UserInfo findFriend(String telephone);

    /**
     * 添加好友
     * @param userId  用户id
     * @param telephone  添加的好友手机号
     * @param message
     */
    void addFriend(Long userId,String telephone,String message);

    /**
     * 拉取好友请求列表
     *
     * @return*/
    List<UserFriends> friendRequestList();

    /**
     * 同意好友添加申请
     * @param  userId
     * @param  telephone 同意的用户手机号
     */
    void assentApplyFriend(Long userId,String telephone);

    /**
     * 将某人拉入黑名单
     * @param telephone
     */
    void pushOneToBlacklist(String telephone);
}
